/**
 * 一个简单的5x5像素字体，用于 fromText 方法。
 * '1' 代表方块, '0' 或 ' ' 代表空气。
 */
export const FONT_5X5_SPACING = 1;
export const FONT_5X5: { [key: string]: string[] } = {
  A: ["0110", "1001", "1111", "1001", "1001"],
  B: ["1110", "1001", "1110", "1001", "1110"],
  C: ["0111", "1000", "1000", "1000", "0111"],
  D: ["1110", "1001", "1001", "1001", "1110"],
  E: ["1111", "1000", "1110", "1000", "1111"],
  F: ["1111", "1000", "1110", "1000", "1000"],
  G: ["0111", "1000", "1011", "1001", "0111"],
  H: ["1001", "1001", "1111", "1001", "1001"],
  I: ["111", "010", "010", "010", "111"],
  J: ["0011", "0001", "0001", "1001", "0110"],
  K: ["1001", "1010", "1100", "1010", "1001"],
  L: ["1000", "1000", "1000", "1000", "1111"],
  M: ["10001", "11011", "10101", "10001", "10001"],
  N: ["1001", "1101", "1011", "1001", "1001"],
  O: ["0110", "1001", "1001", "1001", "0110"],
  P: ["1110", "1001", "1001", "1110", "1000"],
  Q: ["0110", "1001", "1001", "0110", "0001"],
  R: ["1110", "1001", "1110", "1010", "1001"],
  S: ["0111", "1000", "0110", "0001", "1110"],
  T: ["11111", "00100", "00100", "00100", "00100"],
  U: ["1001", "1001", "1001", "1001", "0110"],
  V: ["10001", "10001", "01010", "01010", "00100"],
  W: ["10001", "10001", "10101", "11011", "10001"],
  X: ["1001", "0110", "0110", "0110", "1001"],
  Y: ["101", "101", "010", "010", "010"],
  Z: ["1111", "0010", "0100", "1000", "1111"],
  a: ["0000", "0110", "1001", "1001", "0111"],
  b: ["1000", "1110", "1001", "1001", "1110"],
  c: ["0000", "0111", "1000", "1000", "0111"],
  d: ["0001", "0111", "1001", "1001", "0111"],
  e: ["0000", "0110", "1111", "1000", "0110"],
  f: ["0110", "1000", "1110", "1000", "1000"],
  g: ["0111", "1001", "0111", "0001", "1110"],
  h: ["1000", "1110", "1001", "1001", "1001"],
  i: ["010", "000", "110", "010", "010"],
  j: ["001", "000", "011", "001", "101"],
  k: ["1000", "1010", "1100", "1010", "1001"],
  l: ["110", "010", "010", "010", "011"],
  m: ["00000", "11010", "10101", "10101", "10101"],
  n: ["0000", "1110", "1001", "1001", "1001"],
  o: ["0000", "0110", "1001", "1001", "0110"],
  p: ["1110", "1001", "1110", "1000", "1000"],
  q: ["0110", "1001", "0110", "0001", "0001"],
  r: ["0000", "1110", "1001", "1000", "1000"],
  s: ["0000", "0111", "1000", "0001", "1110"],
  t: ["010", "111", "010", "010", "011"],
  u: ["0000", "1001", "1001", "1001", "0111"],
  v: ["0000", "1001", "1001", "0110", "0110"],
  w: ["00000", "10001", "10101", "10101", "01010"],
  x: ["0000", "1001", "0110", "1001", "1001"],
  y: ["1001", "1001", "0111", "0001", "1110"],
  z: ["0000", "1111", "0010", "0100", "1111"],
  "1": ["010", "110", "010", "010", "111"],
  "2": ["0110", "1001", "0010", "0100", "1111"],
  "3": ["1111", "0001", "0111", "0001", "1111"],
  "4": ["101", "101", "111", "001", "001"],
  "5": ["1111", "1000", "1110", "0001", "1110"],
  "6": ["0110", "1000", "1110", "1001", "0110"],
  "7": ["1111", "0001", "0010", "0100", "0100"],
  "8": ["0110", "1001", "0110", "1001", "0110"],
  "9": ["0110", "1001", "0111", "0001", "0110"],
  "0": ["0110", "1001", "1001", "1001", "0110"],
  // Punctuation and Symbols
  ",": ["00", "00", "00", "10", "01"],
  ":": ["0", "1", "0", "1", "0"],
  ";": ["00", "10", "00", "10", "01"],
  '"': ["101", "101", "000", "000", "000"],
  "'": ["1", "1", "0", "0", "0"],
  "-": ["000", "000", "111", "000", "000"],
  _: ["000", "000", "000", "000", "111"],
  "+": ["010", "010", "111", "010", "010"],
  "=": ["000", "111", "000", "111", "000"],
  "*": ["101", "010", "101", "000", "000"],
  "/": ["001", "010", "010", "100", "000"],
  "%": ["101", "101", "010", "101", "101"],
  $: ["010", "111", "101", "111", "010"],
  "&": ["010", "101", "010", "101", "011"],
  "@": ["0110", "1001", "1011", "1000", "0111"],
  "(": ["01", "10", "10", "10", "01"],
  ")": ["10", "01", "01", "01", "10"],
  "[": ["11", "10", "10", "10", "11"],
  "]": ["11", "01", "01", "01", "11"],
  "{": ["011", "100", "010", "100", "011"],
  "}": ["110", "001", "010", "001", "110"],
  "<": ["001", "010", "100", "010", "001"],
  ">": ["100", "010", "001", "010", "100"],
  // Arrows
  "↑": ["010", "111", "010", "010", "010"],
  "↓": ["010", "010", "010", "111", "010"],
  "←": ["010", "100", "111", "100", "010"],
  "→": ["010", "001", "111", "001", "010"],
  // Existing special characters
  ".": ["0", "0", "0", "0", "1"],
  "!": ["1", "1", "1", "0", "1"],
  "?": ["0110", "1001", "0110", "0000", "0100"],
  " ": ["000", "000", "000", "000", "000"],
};
